1. Field of the Invention
The present invention relates to a computer graphic image generating apparatus and more particularly a computer graphic (termed CG hereinafter) image generating apparatus suitable for the production of computer-generated images, calendars, holograms, animations, commercial pictures, posters, high-definition still images and the like.
2. Prior Art
With the recent rapid advancement computers and the low costs and data-packaging density of memories, the computer graphic technique has made remarkable advancement in speed and high-data-packaging density. As a result, it is now considered to apply the computer-generated images in various fields such as image media information, high-definition still image programs and the like.
A computer graphic image generated by a computer displays an image of a picture taken by a camera by illuminating and shading a three-dimensional object. In general, the generation of a computer graphic data comprises a step for obtaining information about the object (CG model) and a rendering step in which the generated CG model is subjected to various processes so as to produce an image of the shading three-dimensional object.
The CG model generally comprises information concerning to the shape of an object which is to be computer-generated such as shape information representative of a cluster of surfaces, the three-dimensional position information of the shape of the object, camera position information of an (imaginary) camera which takes a picture of the object such as the position and direction of the camera, camera information such as an angle of view and the ratio between the height and width of a frame, texture information of the object such as the ambient reflectivity, lighting information for lighting the object such as the three-dimensional position, direction, directivity, color, characteristics and intensity of a lighting or flashing device, texture image information of the texture image for mapping on the surfaces of the object, mapping information such as characteristics of the mapping, and so on.
When a CG image is rendered based on the above-described CG model, all information required for CG rendering is stored in a memory with a suitable capacity and then required information is read out therefrom so as to carry out various processes. Especially when a CG image is generated by the ray tracing or scan line process, a system designer or a user estimates a required memory space in a memory for each information of CG model and selects a memory space in which is stored information required to generate each CG image.
FIG. 8 illustrates a conventional method for determining the memory spaces in each of which is stored each information of CG model.
As shown in FIG. 8, in the conventional method, the memory space is determined with maximum storage capacity which was expected to be required in order to store respective CG model information.
However, when respective storage spaces are previously determined in the memory in order to store respective CG model information, the following problems result.
Firstly, the selection of the memory spaces is inflexible so that a problem results in case of the information storage process. That is, when even one of CG model information exceeds a previously selected storage space, this is detected as an erroneous operation so that the normal information storage operation cannot be carried out. That is, the erroneous information storage result. When such erroneous operation occurs and when a user can vary each of storage spaces, each storage space can be rearranged, but the information storage capacity of each storage space cannot be varied, it becomes impossible to carry out the CG image rendering process. When the storage capacity of each storage space cannot be varied as described above, a only process to be left is to decrease CG model information and the whole process must be repeated. Thus, the CG rendering process becomes cumbersome and a CG image with desired degree of quality cannot be obtained.
Furthermore, in almost all the cases, the storage capacity of each storage space in which is stored CG model information is, as shown in FIG. 8, determined as a maximum storage capacity which was expected to be required. As a result, waste storage spaces are increased. Especially, in the case of an apparatus which carries out two CG rendering in parallel with a common memory, the memory utilization efficiency is very low.
In general, in the case of the rendering of CG model stored in the memory in the manner described above, a CG system which uses languages and commands in common with those used in the CG model generating computer is used. For instance, it is considered that a series of processes from the generation of the CG model and the rendering are carried out by a system in which a CG model generating computer integral with a rendering computer.
Furthermore, it is also considered that the CG model is generated by a certain system A and the CG model thus obtained is rendered by another system B. This process has been frequently carried out.
Especially in some cases, when the processing speed of the system B is high, it is desired that the CG model generated by the system A is processed by another system B which has a high processing speed. In this case, in general the shape information in the CG model is generated by the system A and transferred to the system B.
However, as to the other information (the texture information, the light source information, the mapping information and so on) than the shape information of CG model, it has been impossible to carry out the rendering in the system B by transferring only the CG model information from the system A to the system B because or the difference in the shading calculation model between two systems.
Therefore, when it is desired that a CG model that is generated by a certain system A be processed by another high-speed system B, only the shape information of the CG model can be delivered to the system B and the remaining information of the CG model must be rendered by the system A or a system which can use the shading model corresponding to the remaining data of the CG model.
As a result, for example, a CG model generated by a low-speed system can not be rendered by a new and high-speed system and therefore it must be rendered by a low-speed system so that there is a problem that the speed-up of the CG generation is difficult.
Furthermore, in the CG image generation, a different CG model except the shape information (such as the texture information and so on) must be generated for respective CG image generation system so that there is a problem that the working load is very great.
A yet another problem is that when some of CG model information read out from the system A, it cannot be used because of the difference of information format.